package com.qili.controller;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.qili.entity.affaircase.dto.AffairCaseDTO;
import com.qili.entity.supervisor.ProjectNotice;
import com.qili.service.AffairService;
import com.qili.service.supervisor.ProjectNoticeServie;
import com.qili.util.CommonUtil;
import com.qili.util.JsonUtil;
import com.qili.util.Md5Util;
import com.qili.util.ReType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author zhaoyongke
 * @date 2020/11/12
 * @description 事項流程
 */
@Controller
@RequestMapping("/affair")
public class AffairController {

    @Autowired
    AffairService affairService;
    @Autowired
    ProjectNoticeServie projectNoticeServie;

    /**
     * @param dto
     * @Author:zhaoyongke
     * @Description: 查询代码事项
     * @Date:15:12 2020/11/12
     */
    @GetMapping(value = "queryTaskList")
    @ResponseBody
    public JsonUtil queryMyTodoSh(AffairCaseDTO dto, HttpServletRequest request) {
        JsonUtil reJs = new JsonUtil();
        //加载类型
        String jztype =request.getParameter("jztype")+"";
        String pwd = Md5Util.getMD5("123456", "zjl");
        System.out.println(pwd);
        try {
            String userId = CommonUtil.getUserId();
            // 总监理工程师
            /*     dto.setUserId("acfc0e9232f54732a5d9ffe9071bf572");*/
            //技术负责人
            /*    dto.setUserId("9fd9e24a31e946be905146f49dd9b0f2");*/

            //查询类型 1 代办 2 已办理 自己参与的流程未结束 3 已办结 自己参与的 流程已办结 4 我的请求 自己发起的流程 5 审批进程 所有参与的流程
            // 除代办查询，其他如果一个流程有多个任务节点 查询结果只显示一条
            String lbType = dto.getLbType();
            List<AffairCaseDTO> ListRe = null;
            if ("1".equals(lbType)) {
                dto.setUserId(userId);
                if("002".equals(jztype)){
                    fylimit();
                }
                ListRe = affairService.queryMyTodoSh(dto);
            } else if ("2".equals(lbType)) {
                //已办事宜
                dto.setUserId(userId);
                if("002".equals(jztype)){
                    fylimit();
                }
                ListRe = affairService.queryMyHisSh(dto);
            } else if ("3".equals(lbType)) {
                dto.setOperUserId(userId);
                //办结事宜  参与过的流程 已经办结的case
                if("002".equals(jztype)){
                    fylimit();
                }
                ListRe = affairService.queryBjCase(dto);
            } else if ("4".equals(lbType)) {
                // 我的请求 我发起的
                dto.setUserId(userId);
                if("002".equals(jztype)){
                    fylimit();
                }
                ListRe = affairService.queryMyFqCase(dto);
            }else if("0".equals(lbType)){
                AffairCaseDTO notice=new AffairCaseDTO();
                notice.setSendTo(userId);
                if("002".equals(jztype)){
                    fyNoticelimit();
                }
                ListRe = affairService.queryMyNotice(notice);
                System.out.println("消息");
            }else if ("6".equals(lbType)) {
                // 全部
                dto.setOperUserId(userId);
                if("002".equals(jztype)){
                    fylimit();
                }
                ListRe = affairService.queryMyFqCase(dto);
            }
            reJs.setMsg("获取成功。");
            reJs.setFlag(true);
            reJs.setData(ListRe);
            return reJs;
        } catch (Exception e) {
            e.printStackTrace();
            reJs.setMsg("获取失败！！" + e.getMessage());
            reJs.setFlag(false);
            return reJs;
        }
    }

    /**
     * @param dto
     * @param page
     * @param limit
     * @Author:zhaoyongke
     * @Description: 查询审批进度
     * @Date:17:48 2020/12/11
     */
    @GetMapping(value = "queryProcessList")
    @ResponseBody
    public ReType queryProcessList(AffairCaseDTO dto, String page, String limit) {
        dto.setUserId(CommonUtil.getUserId());
        ReType re = affairService.queryProcessList(dto, Integer.valueOf(page), Integer.valueOf(limit));
        return re;
    }
    /**
    * @Author:zhaoyongke
    * @Description: 分页
    * @param
    * @Date:11:23 2020/12/17
    */
    public  void fylimit(){
       Page<AffairCaseDTO> tPage = PageHelper.startPage(0, 10);
    }
    /**
    * @Author:zhaoyongke
    * @Description:
    * @param
    * @Date:20:20 2021/1/17
    */
    public  void fyNoticelimit(){
        Page<ProjectNotice> tPage = PageHelper.startPage(0, 10);
    }




}
